// (function () {
//     'use strict';
//     window.addEventListener('load', function () {
//         var forms = document.getElementsByClassName('needs-validation');
//         var validation = Array.prototype.filter.call(forms, function (form) {
//             form.addEventListener('submit', function (event) {
//                 if (form.checkValidity() === false) {
//                     event.preventDefault();
//                     event.stopPropagation();
//                 }
//                 form.classList.add('was-validated');
//             }, false);
//         });
//     }, false);
// })();

$(function () {
    // 验证用户名
    $('.UserName').on('blur', function () {
        VerifyuserName()
    })
    // 验证密码
    $('.pwd').on('blur', function () {
        verifyPassword()
    })
    // 验证两次密码是否相等
    $('.confirmPassword').on('blur', function () {
        verifyConfirmPassword()
    })
    //验证邮箱
    $('.mailboxtitle').on('blur', function () {
        verifymailbox()
    })
    //验证昵称
    $('.nicknametitle').on('blur', function () {
        Verifynickname()
    })
    // 验证注册
    $('.signIn').on('click', function () {
        consent()
        VerifyuserName()
        verifyPassword()
        verifyConfirmPassword()
        verifymailbox()
        Verifynickname()
        signIn()
    })

   /*  // 验证用户名
    $('.usernameinput').on('blur', function () {
        VerifyuserName()
    })
    // 验证密码
    $('.pwdinput').on('blur', function () {
        verifyPassword()
    })
    // 验证两次密码是否相等
    $('.confirmPassword').on('blur', function () {
        verifyConfirmPassword()
    })
    //验证邮箱
    $('.mailboxtitle').on('blur', function () {
        verifymailbox()
    })
    //验证昵称
    $('.nicknametitle').on('blur', function () {
        Verifynickname()
    }) */

    // 验证用户名
    function VerifyuserName() {
        var verify = /^[a-zA-Z0-9_\u4E00-\u9FA5]{2,6}$/;
        // 2到6位（字母，数字，下划线，中文）

        var name = $('.UserName').val()
        // 前端验证
        // console.log('验证用户名',val);
        if (!name) { //验证输入内容为空的时候执行
            $('.UserName').css('border', '1px solid red');
            $('.UserName~.hint').html('请输入用户名').css('color', 'red');
        } else if (!verify.test(name)) { //验证输入内容不符合正则的时候执行
            $('.UserName').css('border', '1px solid red');
            $('.UserName~.hint').html('2到6位(字母数字下划线中文)').css('color', 'red');
        } else { //验证输入内容符合正则的时候执行           
            $('.UserName').css('border', '1px solid green');
            $('.UserName~.hint').html('')
            //后端验证
            serverVerifyUserName(name)
        }
    }

    //后端验证用户名
    function serverVerifyUserName(name) {
        $.ajax({
            url: 'http://139.9.177.51:3333/p2p/accrepeat',
            type: 'post',
            /* 
                        async: false, // 变成同步的 */
            data: {
                username: name
            },
            success: function (data) {
                if (data.code === 200) {
                    // alert('登录')
                } else {
                    $('.UserName').css('border', '1px solid red');
                    $('.UserName~.hint').html('请重新输入用户名').css('color', 'red');
                    alert(data.msg)
                }
            }
        })

    }

    // 验证密码
    function verifyPassword() {
        var verify = /[a-zA-Z0-9]{6,12}/;
        // 含英文字母或者数字6~12位
        var name = $('.pwd').val()
        // 前端验证
        // console.log('验证用户名',val);
        if (!name) { //验证输入内容为空的时候执行
            $('.pwd').css('border', '1px solid red');
            $('.pwd~.hint').html('请输入密码').css('color', 'red');
        } else if (!verify.test(name)) { //验证输入内容不符合正则的时候执行
            $('.pwd').css('border', '1px solid red');
            $('.pwd~.hint').html('含英文字母或者数字表必须6~12位').css('color', 'red');
        } else { //验证输入内容符合正则的时候执行           
            $('.pwd').css('border', '1px solid green');
            $('.pwd~.hint').html('')
        }
    }

    // 验证两次密码是否相等
    function verifyConfirmPassword() {
        var pwdVal = $('.pwd').val()
        var confirmPasswordVal = $('.confirmPassword').val()
        if (!confirmPasswordVal) { //验证输入内容为空的时候执行
            $('.confirmPassword').css('border', '1px solid red');
            $('.confirmPassword~.hint').html('请再次输入密码').css('color', 'red');
        } else if (pwdVal === confirmPasswordVal) { //判断密码相等
            $('.confirmPassword').css('border', '1px solid green');
            $('.confirmPassword~.hint').html('').css('color', 'green');
        } else { //判断密码不相等     
            $('.confirmPassword').css('border', '1px solid red');
            $('.confirmPassword~.hint').html('两次输入的密码不相等').css('color', 'red');
            // $('.confirmPassword~.hint').html('两次输入的密码不相等')
        }
    }

    // 验证邮箱
    function verifymailbox() {
        var verify = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
        // 名称允许汉字、字母、数字，域名只允许英文域名
        var name = $('.mailboxtitle').val()
        // 前端验证
        // console.log('验证用户名',val);
        if (!name) { //验证输入内容为空的时候执行
            $('.mailboxtitle').css('border', '1px solid red');
            $('.mailboxtitle~.hint').html('请输入邮箱').css('color', 'red');
        } else if (!verify.test(name)) { //验证输入内容不符合正则的时候执行
            $('.mailboxtitle').css('border', '1px solid red');
            $('.mailboxtitle~.hint').html('名称允许汉字、字母、数字，域名只允许英文域名').css('color', 'red');
        } else { //验证输入内容符合正则的时候执行           
            $('.mailboxtitle').css('border', '1px solid green');
            $('.mailboxtitle~.hint').html('')
        }
    }

    // 验证昵称
    function Verifynickname() {
        var verify = /^[a-zA-Z0-9_\u4E00-\u9FA5]{2,6}$/;
        // 2到6位（字母，数字，下划线，中文）
        var name = $('.nicknametitle').val();
        // 前端验证
        // console.log('验证用户名',val);
        if (!name) { //验证输入内容为空的时候执行
            $('.nicknametitle').css('border', '1px solid red');
            $('.nicknametitle~.hint').html('请输入昵称').css('color', 'red');
        } else if (!verify.test(name)) { //验证输入内容不符合正则的时候执行
            $('.nicknametitle').css('border', '1px solid red');
            $('.nicknametitle~.hint').html('2到6位（字母，数字，下划线，中文）').css('color', 'red');
        } else { //验证输入内容符合正则的时候执行           
            $('.nicknametitle').css('border', '1px solid green');
            $('.nicknametitle~.hint').html('')
        }
    }

    // 同意
    function consent() {
        var userName = $('.UserName').val() //用户名
        // console.log('测试'+userName);
        var pwdVal = $('.pwd').val() //密码
        var confirmPasswordVal = $('.confirmPassword').val() //再次输入密码
        var emailVal = $('.mailboxtitle').val() //邮箱
        var nicknameVal = $('.nicknametitle').val() //昵称
        if ($('#invalidCheck').is(':checked') || userName == !null || pwdVal == !null || confirmPasswordVal == !null || emailVal == !null || nicknameVal == !null) {
            $('.UserName~.hint').html('')
            $('.Mustagreeto').html('')
            console.log('输入内容不为空');
        } else { //输入内容为空的时候执行
            VerifyuserName()
            verifyPassword()
            verifyConfirmPassword()
            verifymailbox()
            Verifynickname()
            $('.Mustagreeto').html('提交前必须同意。')
            $('.invalid-feedback').show() //必须勾选条款
            $('.hint').show() //必须勾选条款
            console.log('输入内容为空');
        }
    }
    //注册
    function signIn() {
        var userName = $('.UserName').val()
        var pwdVal = $('.pwd').val()
        var emailVal = $('.mailboxtitle').val()
        var nicknameVal = $('.nicknametitle').val()
        consent()
        var checked=$('#invalidCheck').is(':checked')
        if( checked){
            $.ajax({
                url: 'http://139.9.177.51:3333/p2p/reg',
                type: 'post',
                data: {
                    username: userName,
                    pwd: pwdVal,
                    email: emailVal,
                    nickname: nicknameVal
                },
                success: function (data) {
                    if (data.code === 200) {
                        window.location.href = '../landing.html';
                        alert(data.msg)
                    } else {
                        alert('注册失败,' + data.msg)
                    }
                }
            })  
        } 
    }
})